Business intelligence (“BI”) and Business Activity Monitoring (“BAM”) systems have been developed that combine data gathering, data storage, and knowledge management with analytical tools to present complex and competitive information to planners and decision makers. Many conventional business intelligence systems include modules and programs that provide visual reporting of information regarding the status and operation of business processes in a full-page display panel known as a “dashboard”. These systems frequently utilize messaging, data integration, data caching, analytics monitoring, alerting, and reporting technologies to deliver configurable information to an end user within seconds of an enterprise event or change in status. Streaming data delivery ensures that real-time reports or data displays are automatically and continually updated as changes occur in the underlying data. Therefore, managers and business executives can monitor end-to-end business processes in real-time and make decisions and take immediate actions that impact overall business performance.
The dashboard and other user interfaces of many known BI systems utilize multiple browser windows to display the data that may be pushed from a server. One known method to push data to multiple windows is to create a push channel from each browser window to the server. The push channel is typically implemented as a persistent connection to the server. However, this creates multiple physical connections to the server and may present scalability concerns. Further, most web browsers restrict the number of open connections to the server in order to govern the resource requirements of a particular window.
Other known systems that utilize multiple browser windows create an extra and separate window that holds the push channel. This window serves as the focal point for receiving and dispatching events for other browser windows but is not itself a destination for data. One problem with this approach, however, is that this extra window has to be opened by one of the browser windows that needs that data, and a popup blocker may block the creation of this window. Even in the case that the window is successfully opened, it can be confusing or annoying to the user. As a result, the user may accidentally or intentionally close the extra window, which will break the channel and prevent data from reaching the other browser windows.